Conversation
|
从dev重新起头有点麻烦,就先包含utf8分支的内容了,完了那个merge进去这里再rebase |
|
如果只是改动vcproj的插件部分,应该跟 utf8的 比较独立吧。。为什么不基于dev来搞呢。一些utf8的特性 可以暂时不用进去。 utf8那个 你一次改动太多文件了,光review一遍都要好久,估计得等上一会了。。 |
|
只是懒。。。 我的CUDA项目已经可以用这一套编译了,intelliscene、调试、报错、定义跳转都没啥问题。 不知道qt项目有啥额外的复杂度? |
|
话说xmake clean的all选项是干啥的?vs的清理流程需不需要加这个? |
那就只能慢慢等我review完utf8那个再说吧,qt里面主要就是对.qrc/.ui/.moc等特定规则的处理,其他到没什么。 |
加上all,会清理掉build下xmake生成的所有文件,包括生成的target文件,比如库文件等,会清理的比较干净些,包括各种子目录 不加all,仅仅清理一些build下生成的临时文件,比如objs, deps |
|
说实话,这套的工程定义本身简单到都可以用configfile那套模板系统生成了 |
那就更没必要放置在utf8上去提交了,这样不方便merge |
This comment has been minimized.
This comment has been minimized.
|
@waruqi |
当前target定义所在的xmake.lua目录,有可能是子路径。。project.directory()是项目根目录 |
所以xmake -P应该给后者,而 xmake -F给前者? |
不是这意思, -P指定的项目根目录(默认加载xmake.lua),-F指定的是项目根目录下的xmake.lua文件,你可以指定加载 其他名字lua文件,反正都是项目根目录的那个 lua描述文件。。 而target:scriptdir 用于在自定义脚本中获取这个target实际定义所在的xmake.lua路径。 比如: src/xmake.lua target("test")
on_run("xxx.yyy")这个时候加载 src/xxx/yyy.lua 作为运行脚本,在这个脚本里面 想要获取 到 src/xxx/yyy.lua function main(target)
print(target:scriptdir())
end所以target:scriptdir()这个接口不常用,除非你在任意自定义脚本中,都想获取对应target所在上层xmake.lua的文件位置,才会调用下。。 而 -P/-F 都是用来影响 project.directory的。只是一个指定目录加载默认xmake.lua文件名,另一个指定文件,用户可以去其他非xmake.lua的名字来加载。。 |
|
解决方案和工程生成已经弄完了,可以试试 xmake update utf8
xmake update -s github:OpportunityLiu/xmake#vsproj
xmake project -k vsxmake2019第一个问题,已经指定 |
|
比起这些,继承下来的includedir和linkdir从哪取? @waruqi |
|
我抓了 OpportunityLiu 提供的fork 最新 d0e69b7eff124aec1f51553593465d68dfa9fb39 編譯的時候出現以下錯誤: 直接使用 v2.2.7 binary,然後跟以往編譯方式一樣直接進入路徑後直接xmake,我有漏掉什麼嗎?? |
|
@orzuk-lmj 按这个来 要用UTF8那个分支的binary |
从deps里取,看下这块: xmake/xmake/core/tool/builder.lua Lines 211 to 221 in db0b2ae |
这啥意思?为啥不直接取值? |
根据用户 add_deps("dep1", "dep2", "dep3") 添加的顺序保持一致,linkdirs links includedirs这种 都是顺序敏感的。。 默认的orderdeps依赖链顺序,会优先去 最底层dep,这种一般用于target的构建顺序依赖,优先构建最底层dep target (c) 而 links, includedirs这种是反向的,a -> b -> c,也就是 |
|
... 那为啥不直接 看得我心好累 |
都可以啊,这个就不要纠结了 你要是觉得之前的不简洁,可以帮忙改进下。。 |
| Unicode true | ||
|
|
||
| ; Use best compressor | ||
| SetCompressor /FINAL /SOLID lzma |
|
vs2019上测了下,可能改成pushd后,清项目文件的问题没有了。。warning那个之前也修复了,但是build输出目录有点问题。。 vs2019默认的working dir是 projectdir/vsxmake,所以通过pushd修改xmake的执行环境后虽然大部分操作都ok,但是build的配置还是基于 $xmake config -P . -p windows -m debug -a x64 -o "..\build" test2 -----> 此处的build目录配置。。
checking for the Microsoft Visual Studio (x64) version ... 2019
checking for the Cuda SDK directory ... no
$xmake build -P . -w test2
[ 0%]: compiling.debug src\main.c
[100%]: linking.debug test2.exe |
你生成vsxproj的时候怎么配置的?我这里也是vs2019 xmake f -o ../build
xmake project -k vsxmake2019如果这么搞过那vs生成的时候肯定也是同样的方法配置输出目录 |
我就直接通过create创建了一个空工程,执行的生成 xmake create test
cd test
xmake project -k vsxmake2019 |
|
可以了,我用了后面几个commit的包是可以的。。 |
|
我这看没什么大问题了 那我先merge了? |
|
qt的项目你测了吗? |
|
就这样吧,试了下 |
|
既然做了config check切换,和 generate_configheaders, 那 genertate_configfiles那个也加一下吧 |
这个倒还好,我改下rule,已经解决了,基本上需要在before_run里面处理的东西,通过add_runenvs和add_rundirs基本上都能处理了。。倒也不是太大的问题。。 |
|
行了 |
|
这个不是这里的问题 之前改interpreter改出来的bug 我刚修了 |





Ref: #257 #174